class ChangePrestamoToMovimientos < ActiveRecord::Migration
  def self.up
    add_column :movimientos, :prestamo_id, :integer
    movs=Movimiento.find(:all, :conditions => {:prestamo => true, :principal => nil})
    #Crear movimientos de prestamo
    movs.each do |mov|

      puts "Procesando movimiento #{mov.id} - #{mov.fecha} - #{mov.usuario.try(:nombre)}"
      p=Prestamo.new
      p.total = Movimiento.sum(:valor, :conditions => {:principal => mov.id})+mov.valor
      p.fecha = mov.fecha
      p.cuotas= Movimiento.count(:conditions => {:principal => mov.id}) + 1
      p.usuario = mov.usuario
      p.motivo = mov.texto
      p.tasa = 0
      p.no_generar = true
      p.save!
      
      mov.prestamo_id = p.id
      mov.save!
      Movimiento.update_all "prestamo_id = #{p.id}", "principal = #{mov.id}"
    end

    remove_column :movimientos, :principal
  end

  def self.down
    remove_column :movimientos, :prestamo_id
    add_column :movimientos, :principal
  end
end
